%
% Resolvendo o problema dos baldes por caminhamento breadth-first
%
% A concluso dos testes  que este caminhamento gera solues mais concisas,
% com tempos bastante aceitveis (menos de 1 segundo nos dois primeiros testes);
% apenas no caso especial em que no h soluo h uma demora perceptvel.
%

% 1o. teste
?- caminho(2, 0).
[Enche 5l, Passa de 5l para 3l, Esvazia 3l, Passa de 5l para 3l]

yes

% 2o. teste
?- caminho(0, 1).
[Enche 3l, Passa de 3l para 5l, Enche 3l, Passa de 3l para 5l, Esvazia 5l, Passa de 3l para 5l]

yes

% 3o. teste
% Obs: este exemplo demorou 13 segundos para concluir.
?- caminho(2, 1).
no

%
% Resolvendo o problema dos baldes por caminhamento depth-first
%
% At onde pde ser percebido, este caminhamento gera solues na mesma
% velocidade do anterior, mas as solues tendem a conter passos
% desnecessrios.
%

% 1o. teste
?- caminho(2, 0).
[Enche 3l, Passa de 3l para 5l, Enche 3l, Passa de 3l para 5l, Esvazia 5l, Passa de 3l para 5l, Enche 3l, Passa de 3l para 5l, Enche 3l, Passa de 3l para 5l, Esvazia 5l]

yes

% 2o. teste
?- caminho(0, 1).
[Enche 3l, Passa de 3l para 5l, Enche 3l, Passa de 3l para 5l, Esvazia 5l, Passa de 3l para 5l]

yes

% 3o. teste
% Obs: este exemplo demorou 13 segundos para concluir.
?- caminho(2, 1).
no
